var wxTimer = function(initObj) {
  initObj = initObj || {};
  this.endTime = initObj.endTime || 0; //开始时间
  this.interval = initObj.interval || 0; //间隔时间
  this.complete = initObj.complete; //结束任务
  this.intervalFn = initObj.intervalFn; //间隔任务
  this.name = initObj.name; //当前计时器在计时器数组对象中的名字
  this.intervarID = initObj.id; //计时ID
  // this.intervarID; //计时ID
}

wxTimer.prototype = {
  //开始
  start: function(self) {
      console.log('倒计时开始');
      let end = this.endTime * 1000;
      let intId = this.intervarID;
      var that = this;
      //开始倒计时
      var count = 0; //这个count在这里应该是表示s数，js中获得时间是ms，所以下面*1000都换成ms
      function begin() {
          var countdown = parseInt((end - new Date().getTime()) / 1000);
          var day = _format(parseInt((end - new Date().getTime()) / 1000 / 60 / 60 / 24));
          // var hour = _format(parseInt((end - new Date().getTime()) / 1000 / 60 / 60 % 24));
          var hour = _format(parseInt((end - new Date().getTime()) / 1000 / 60 / 60 ));
          var minute = _format(parseInt((end - new Date().getTime()) / 1000 / 60 % 60));
          var seconds = _format(parseInt((end - new Date().getTime()) / 1000) % 60);
          var wxTimerList = self.data.wxTimerList;
          console.log(seconds);
          //更新计时器数组
          // console.log(that.name);
          // console.log(
          //     {
          //         wxDay: day,
          //         wxHour: hour,
          //         wxMinute: minute,
          //         wxSeconds: seconds,
          //         wxCountdown: countdown,
          //         wxIntId: intId
          //     }
          // );
          wxTimerList[that.name] = {
              wxDay: day,
              wxHour: hour,
              wxMinute: minute,
              wxSeconds: seconds,
              wxCountdown: countdown,
              wxIntId: intId
          }
          self.setData({
              wxDay: day,
              wxHour: hour,
              wxMinute: minute,
              wxSeconds: seconds,
              countDown: countdown,
              wxTimerList: wxTimerList,
              wxIntId: intId
          });
          //结束执行函数
          if (countdown <= 0) {
              if (that.complete) {
                  that.complete(self);
                  console.log('倒计时结束');
              }
              that.stop(self);
          }
      }
      begin();
      intId = setInterval(begin, 1000);
  },
  //结束
  // stop: function (self) {
  //     let Id = self.data.aTimer
  //     clearInterval(Id);
  // },
  stop: function (self) {
      let name = this.name;
      let timerId = self.data.wxTimerList[name].wxIntId;
      clearInterval(timerId);
  },
  // //校准
  // calibration: function() {
  //     this.endTime = this.endSystemTime - Date.now();
  // }
}

function _format(time) {
  if (time >= 10) {
      return time
  } else {
      return '0' + time
  }
}
module.exports = wxTimer;